package com.tanhua.dubbo.server.pojo;

import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import org.elasticsearch.common.geo.GeoPoint;
import org.springframework.data.annotation.Id;
import org.springframework.data.elasticsearch.annotations.Document;
import org.springframework.data.elasticsearch.annotations.Field;
import org.springframework.data.elasticsearch.annotations.FieldType;
import org.springframework.data.elasticsearch.annotations.GeoPointField;

/**
 * 用户位置 实体类
 */
@NoArgsConstructor
@AllArgsConstructor
@Data
@Document(indexName = "tanhua", // 索引 类比 数据库
        type = "user_location", // 类型 类比 数据表
        shards = 6, replicas = 2) // 分片 副本
public class UserLocation {

    @Id // 主键id
    private Long userId; //用户id

    @GeoPointField // 地理点字段
    private GeoPoint location; //lon:经度 lat:纬度

    @Field(type = FieldType.Keyword) // @Field字段属性：type字段类型
    private String address; //位置描述

    @Field(type = FieldType.Long)
    private Long created; //创建时间

    @Field(type = FieldType.Long)
    private Long updated; //更新时间

    @Field(type = FieldType.Long)
    private Long lastUpdated; //上次更新时间
}
